   1 .
   2 .
   3 .SUB SEARCH
   4 .BY RON PICARDI
   5 .REVISED BY RICH TIETJENS
  10 :return ;NT=0
 100 X=rnd (10);Y=rnd (10);U=rnd (10);V=rnd (10);FC=7;BC=250
 110 clear ;box 0,0,160,60,1
 115 M=X;N=Y
 120 box -70+Xmul 14,-30+Ymul 6,6,2,3;CY=40;print "ENTER SEARCH 1 to 10
 130 CY=-35;input ""Y;CY=-35;CX=0;input ""X
 140 E=(Xmul 14-Mmul 14)div 10;F=(Ymul 6-Nmul 6)div 10;A=Mmul 14-70;B=Nmul 6-30
 142 for Z=0to 9
 145 if A#Xmul 14-70 A=A+E
 147 if B#Ymul 6-30 B=B+F
 150 for T=0to 1;box A,B,2,2,3;gosub 1000;next T
 152 next Z
 155 if X=Uif Y=Vgoto 400
 160 E=rnd (100);if E=20goto 660
 180 goto 120
 400 clear ;print "SONAR CONTACT
 410 CY=0;print "BATTLE STATIONS
 440 for A=1to 10;&(18)=30;for B=255to 0step -10;&(22)=B;next B;for B=1to 30;next B;next A;&(18)=0
 500 X=rnd (5);Y=rnd (5);Z=rnd (3);clear 
 510 J=2;K=2;L=0;D=rnd (4)
 515 for C=1to 1+D;clear ;FC=0;BC=7
 520 print "FROM",#2,J,K,L
 530 print "SUB WAS ",
 540 if J>Yprint "NORTH",
 550 if J<Yprint "SOUTH",
 570 if K<Xprint "EAST
 580 if K>Xprint "WEST
 590 print ;if L>Zprint "TOO LOW
 600 if L<Zprint "TOO HIGH
 610 if L=Zprint "DEPTH CORRECT
 620 input "ENTER TARGET DATA:"J,""K,""L
 621 gosub 2000;clear ;print "MISSLE AWAY";FC=7;BC=13
 623 for A=-40to 40;for T=0to 1;box div 2,A,1,3,3;box -40-Adiv 2,-40,10,2,3;next T;next A
 626 gosub 2020;for A=40to -40step -2;box 20,A,1,3,3;box 20,A,1,3,3;next A
 628 gosub 2000;for B=10to 30;gosub 2010;line 20,-40,0;line B,rnd (15)-40,3;next B;gosub 2020
 640 if Y=Jif X=Kif Z=Lgoto 900
 650 next C
 660 clear ;print "ABANDON SHIP!";print "YOU HAVE BEEN TORPEDOED!
 670 box 0,-20,50,5,1;box 22,-18,4,5,1;box 10,-16,1,6,1;box -5,-18,5,5,1
 690 gosub 2000;for A=1to 2
 692 for B=20to 0step -2;gosub 2010;line 0,-20,0;line -B,10-Bdiv 4,3;line 0,-20,0;line B,10-Bdiv 4,3;next B
 695 next A;gosub 2020
 700 for A=0to 9;&(22)=255;for B=60to 50step -1;&(18)=B;next B;for B=Bto 55;&(18)=B;next B;&(22)=0;for B=0to 20;next B;next A;&(22)=0
 710 for A=180to 0step -1;&(10)=A;next A
 890 goto 950
 900 clear ;gosub 2000
 910 box 0,0,50,8,1;box 10,5,8,5,1;box 25,0,4,6,1;box -25,0,6,4,1
 920 for B=-30to 30step 2;line 0,0,0;gosub 2010;BC=rnd (3)mul 13+86;line B,10+rnd (60)-30,3;BC=12;line 0,0,0;next B
 930 gosub 2020;for A=180to 0step -1;&(10)=A;next A
 950 for D=0to 2000;next D
 960 clear ;print "TRY AGAIN?
 965 &(10)=180
 970 if &(23)=8run 
 980 if (&(22)=16)+(&(23)=4)goto 995
 990 goto 970
 995 clear ;print "THANKS!";print "THAT WAS FUN!";print "BYE!
 999 STOP
1000 &(20)=15
1020 for S=240to 0step -16
1025 &(18)=8+4mul (S=240)
1030 &(22)=S;next S
1040 &(20)=0;&(18)=0
1070 return 
2000 &(21)=255;&(23)=255;&(18)=30
2010 &(22)=B;return 
2020 &(21)=0;&(22)=0;&(23)=0;&(18)=0;return 
:return ;run 